Backend Engineering > Spring

42 개의 글

← 돌아가기 Backend Engineering
2026-02-09Java

Edge Computing Patterns for Backend Developers

백엔드 개발자가 알아야 할 엣지 컴퓨팅 패턴을 다룹니다. CDN 활용, Edge Functions, 지역별 라우팅부터 하이브리드 아키텍처까지 실무 가이드를 제공합니다.

2026-01-29Java

Cloud-Native Observability Stack Part 5 - Debugging Production Issues with Observability Data

Observability 데이터(트레이스, 메트릭, 로그)를 활용하여 프로덕션 이슈를 효과적으로 디버깅하는 방법을 다룹니다. 실제 장애 시나리오와 해결 과정을 상세히 설명합니다.

2026-01-28Java

Cloud-Native Observability Stack Part 4 - Metrics and Alerting with Prometheus/Grafana

Prometheus와 Grafana를 활용하여 Spring Boot 애플리케이션의 메트릭을 수집하고 시각화하는 방법을 다룹니다. 커스텀 메트릭, SLI/SLO 대시보드, 알림 설계까지 실무 가이드를 제공합니다.

2026-01-27Java

Cloud-Native Observability Stack Part 3 - Structured Logging with Correlation IDs

마이크로서비스 환경에서 구조화된 로깅과 Correlation ID를 구현하는 방법을 다룹니다. JSON 로깅, MDC 패턴, 로그 집계까지 실무 적용 가이드를 제공합니다.

2026-01-26Java

Cloud-Native Observability Stack Part 2 - Distributed Tracing Across Microservices

마이크로서비스 환경에서 분산 추적을 구현하는 방법을 다룹니다. Trace Context, Span 계층 구조, 샘플링 전략까지 실무 적용 가이드를 제공합니다.

2026-01-25Java

Cloud-Native Observability Stack Part 1 - OpenTelemetry Instrumentation in Spring Boot

OpenTelemetry를 활용하여 Spring Boot 애플리케이션에 관측 가능성을 추가하는 방법을 다룹니다. 자동 계측, 수동 span 생성, 컨텍스트 전파까지 실무 적용 가이드를 제공합니다.

2026-01-24Java

Spring Boot 4.0 주요 변경사항과 새로운 기능

Spring Boot 4.0의 주요 변경사항, 새로운 기능, 마이그레이션 가이드를 정리한다

2026-01-24Java

Production-Ready Event-Driven Architecture Part 5 - Event Schema Evolution and Versioning

이벤트 기반 시스템에서 스키마 진화를 안전하게 관리하는 방법을 다룹니다. Avro, Protobuf를 활용한 스키마 버전 관리, 하위 호환성 보장, Schema Registry 활용까지 실무 가이드를 제공합니다.

2026-01-23Java

Spring Boot JWT 인증과 인가 구현하기

Spring Boot 3.x와 Spring Security 6.x를 사용하여 JWT 기반 인증과 인가를 구현하는 방법을 정리한다

2026-01-23Java

Production-Ready Event-Driven Architecture Part 4 - Saga Pattern for Distributed Transactions

마이크로서비스 환경에서 분산 트랜잭션을 처리하는 Saga Pattern을 다룹니다. Choreography와 Orchestration 방식의 구현, 보상 트랜잭션, 상태 머신까지 실무 적용 가이드를 제공합니다.

2026-01-22neo4j

그래프 알고리즘으로 친구 추천하기

Neo4j 그래프 알고리즘을 사용하여 친구 추천 시스템을 구현하는 방법

2026-01-22Java

Production-Ready Event-Driven Architecture Part 3 - CQRS with Separate Read/Write Models

CQRS(Command Query Responsibility Segregation) 패턴을 통해 읽기와 쓰기 모델을 분리하는 방법을 다룹니다. 최종적 일관성(Eventual Consistency) 처리와 실무 적용 전략을 상세히 설명합니다.

2026-01-21neo4j

그래프 데이터베이스로 활동 피드 구현하기

Neo4j를 사용하여 소셜 네트워크의 홈 피드와 타임라인을 구현하는 방법

2026-01-21Java

Production-Ready Event-Driven Architecture Part 2 - Implementing the Outbox Pattern

분산 시스템에서 데이터 일관성을 보장하는 Transactional Outbox Pattern의 구현 방법을 다룹니다. Debezium CDC를 활용한 exactly-once 의미론 구현까지 실무 적용 가이드를 제공합니다.

2026-01-20neo4j

친구, 팔로워, 연결 관계 구현하기

Neo4j에서 팔로우, 친구 요청, 상호 친구 기능을 구현하는 방법

2026-01-20Java

Production-Ready Event-Driven Architecture Part 1 - Event Sourcing Fundamentals

이벤트 소싱의 핵심 개념과 Spring Boot에서의 구현 방법을 알아봅니다. Event Store 설계, Aggregate Root, Projection, Snapshotting까지 실무에서 바로 적용할 수 있는 패턴을 다룹니다.

2026-01-19neo4j

소셜 네트워크 그래프 스키마 설계

그래프 데이터베이스로 소셜 네트워크의 사용자, 게시물, 관계를 모델링하는 방법

2026-01-18neo4j

Neo4j와 Spring Boot 시작하기

Spring Boot에서 Neo4j 그래프 데이터베이스를 설정하고 간단한 쿼리를 실행하는 방법

2022-12-24Java

ActiveMQ와 JMS를 사용한 SpringBoot 메시지

SpringBoot를 사용해서 개발을 하다보면 Exception 처리를 해야하는 경우가 생긴다. 해당하는 경우에 어떻게 예외처리하면 좋은지, 어떤 방법들이 있는지 한번 정리해보고자 한다

2022-12-12Java

SpringBoot Exception 처리하기

SpringBoot를 사용해서 개발을 하다보면 Exception 처리를 해야하는 경우가 생긴다. 해당하는 경우에 어떻게 예외처리하면 좋은지, 어떤 방법들이 있는지 한번 정리해보고자 한다

2022-11-22Java

스프링부트 멀티모듈 구성하기(4) - Stream 어플리케이션

스트림 모듈을 세팅하면서 Kafka와 어떻게 SpringBoot가 커넥션을 맺고, Consumer와 Producer가 어떻게 세팅되는지 정리해보려고한다. Kafka는 로컬 카프카도 괜찮고, 서버에 띄워진 Kafka, 혹은 Docker, Confluent등등 Kafka를 지원하는 솔루션이면 모두 사용 할 수 있다. 본문은 Kafka가 모두 준비되어있다는 가정하에 작성하려고한다.

2022-11-17Java

스프링부트 멀티모듈 구성하기(3) - API 모듈 작성하기

module-core에서 Customer와 Order 엔티티를 선언했는데, 이에 맞게 module-api에서는 Customer와 Order 읽어오기 / 쓰기 API를 만들어 보자.

2022-11-12Java

스프링부트 멀티모듈 구성하기(2) - 코어모듈에 Entity 적용 해놓기

...그래서 코어모듈에 엔티티를 만들어놓고, 각각의 모듈에서 코어모듈을 의존성으로 추가하면, 코어모듈에 있는 엔티티를 사용할 수 있다....

2022-11-07Java

스프링부트 멀티모듈 구성하기(1) - 프로젝트 구조만들기

...멀티모듈을 적용시켜서 엔티티들을 공통적으로 사용하고, 그외의 고유한 기능들을 각각의 서버에서 사용하자는 생각이 들었다. ...

2022-08-15Java

비밀번호 유효성 검증기 - TDD 활용하기

테스트코드에서 요구조건을 먼저 실현하고, 실현한 요구조건에서 실제 코드에 반영되지 않은 부분들을 하나씩 만들어가며 작업 ...

2022-07-02Java

Kotlin과 Spring을 사용한 Server에 여러개의 DataSource를 사용하자

Kotlin과 Spring을 사용한 Server에 여러개의 DataSource를 사용하자. 여러개의 데이터베이스를 연결하는 ...

2022-06-22Java

SpringBoot 에서 Logging을 사용해보자

로그는 간단하게 말해서 연속된 데이터의 기록이라고 할 수 있다. Kotlin을 사용한 Spring에서 로그를 남겨보자

2022-06-17Java

SpringBoot 에서 JPA를 사용한 Repository 테스트

SpringBoot를 사용해서 h2데이터베이스와 관련된 테스트를 진행 해 보려고 한다

2022-06-15Java

SpringBoot Kotlin으로 작성하기

SpringBoot를 kotlin으로 작성하여 h2와 JPA를 사용해 주문모델을 구현 해 보자

2022-05-30Java

SpringBoot와 Spring Cloud Gateway 사용하기

API Gateway는 다수의 서버를 하나로 묶어, 외부 애플리케이션 혹은 클라이언트에 대한 하나의 진입점이라고 생각하면 된다. 외부 어플리케이션 및 외부 클라이언트들은 마이크로 서비스에 직접 엑세스 하는 것이 제한되어 있기 때문에 그 사이의 중개자 역할을 한다

2022-05-26Java

SpringBoot 사용하여 Request요청을 로깅하기

Request 요청 로깅을 할 경우, 모든 REST API 컨트롤러에 로그를 남기는것도 하나의 방법이다. 하지만 모든 API 컨트롤러에 로깅을 작성하게 된다면 비효율적으로 작업이 될 수 있다. Spring Interceptor 라는 것을 사용해서, 컨트롤러의 Handler로 도착하기 전에 가로채어 따로 작업을 해 주는 방법을 정리하려고 한다

2022-05-23Java

SpringBoot에서 스케쥴링 사용하기

특정 시점이나 특정 시간 간격, 혹은 정해진 시간에 실행해야 하는 작업이 있을 수 있다. 이런 작업들을 '스케쥴링 된 작업' 혹은 '배치작업' 이라고 하는데 Spring에서 지원하는 방법은 크게 두 가지가 있다. 이번에는 스프링의 스케쥴링 어노테이션을 사용한 스케쥴 작업을 생성 해 보려고 한다.

2022-05-19Java

SpringBoot에서 Kafka Event Message 보내고 받기

빅 데이터의 세계에서 안정적인 스트리밍 플랫폼은 필수이다. 현재 가장 주목받고있는 kafka 스트리핑 플랫폼과 SpringBoot를 활용해서 간단한 Event 메시지를 주고받는 작업을 해보자

2022-05-12Java

SpringBoot에서 Redis 캐시를 사용하기

Spring Boot에서 Redis Cache를 사용하여 데이터 접근 성능을 높이는 방법을 알아봅니다.

2022-05-10Java

SpringBoot에서 Redis를 데이터베이스로 사용하기

많은 경우에 Spring은 DB에 담긴 데이터를 가져오고 전달하는 역할을 하고있는데 이 때, Redis를 가지고 데이터에 빠르게 접근하는 방법을 정리 해 보려고 한다. Redis는 데이터베이스로도 사용되고, Message Broker로도 사용되지만 Cache Manager에 더 많이 사용된다. 한번 만들어보면서 정리 해 보도록 하겠다

2022-05-09Java

SpringBoot Configuration에서 값 가져오기 - @Value

application.properties를 사용 해도 되지만 application.yml도 지원 하기 때문에, 새로 만들어 Hierarchy를 표현해서 보기 편하도록 작성 하는 방법도 있다. 더불어서, 이 설정파일인 application.yml의 값들을 불러와서 사용 하는 @Value 어노테이션을 간단히 정리 해 보려고 한다.

2022-05-07Spring

SpringBoot-Redis 로 만든 디저트가게 예제

SpringBoot 와 Redis를 이용한 디저트가게 예제

2022-04-28Java

SpringBoot의 Validation을 사용 해 보자

Spring Validation이란? validation이란 프로그래밍에 있어서 가장 필요한 부분이다. Java/Kotlin 에서는 null값에 대해 접근하려고 할 때, null point exception이 발생한다. 이런 부분을 방지하기 위해 미리 검증하는 과정을

2022-02-14Spring

SpringBoot 예외처리하기 - Exception Handling

SpringBoot Exception 처리하기 - ControllerAdvice, ExceptionHandler

2022-01-21Spring

Spring Boot DB 연동과 테스트

SpringBoot를 사용해 H2 DB 연결하고 테스트하기

2022-01-13Java

Kotlin을 사용한 Spring Boot 개발기 - Controller (@requestBody, Dto 생성하기)

마찬가지로 @RestController 어노테이션을 사용해서 만든 controller 내부에서 사용 하려고한다.

2022-01-05Java

Kotlin을 사용한 Spring Boot 개발기 - Controller (@RequestParam, @PathVariable)

Kotlin을 사용해서 SpringBoot를 개발 해 보려고 한다.